home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FM Towns: Free Software Collection 7
/
FM Towns Free Software Collection 7.iso
/
data
/
pvap322a
/
pvapfree.plp
< prev
next >
Wrap
Text File
|
1993-11-30
|
10KB
|
369 lines
/************************************************************************
* 自由行動 *
************************************************************************/
/* 自由行動メイン */
%freemain{
chat({Yes});
loop({
footnote({終了受信送信QV ▲▲CHAT},{b});
waitx({});
case (@xtype,
{101},freeend,{201},freeend,
{102},{writelog;im({Yes})},
{202},{writelog;im({Yes})},
{104},{QVAN;im({Yes})},
{204},{QVAN;im({Yes})},
{103},{SENDTEXT;im({Yes})},
{203},{SENDTEXT;im({Yes})},
{111},{CHATMODE;im({Yes})},
{211},{CHATMODE;im({Yes})},
{112},{CHATMODE;im({Yes})},
{212},{CHATMODE;im({Yes})}
,,{im({Yes})});
});
};
/* 自由行動終了 */
%freeend{
SNDMSG({kaknin_f.snd});
footnote({終了します よろしいですか?});
select({終了します よろしいですか?},99999,{im({Yes})},
{ はい },
{case (REC,
{Yes}, {REC:={No};stoprec});
chat({No});im({No})},
{ いいえ },{im({Yes})});
};
/* 自由行動中のログ保存 */
%writelog{
case (REC={Yes},
{Yes}, {display({\nログの保存終了\n});REC:={No};stoprec},
{No}, {display({\nログの保存開始\n});
case (SAVE={JUMPCODE}||SAVE={BOARD},
{Yes},
{receive(LOGPATH|{\}|JUMP|{\}|LOGFILE);
REC:={Yes}},
{No},
{receive(LOGPATH|{\VANLOG\}|LOGFILE);
REC:={Yes}})});
};
/* Quick-VANでの処理選択 */
%QVAN{
SNDMSG({erande_f.snd});
select({選択して下さい},99999,,
{ ダウンロード },QVDOWN,
{ アップロード },QVUP);
};
/* Quick-VANでのダウンロード処理 */
%QVDOWN{
case(REC={Yes},{Yes},{stoprec});
var SENDFILE[64];
SNDMSG({nyuryo_f.snd});
footnote({格納するディレクトリに移動して右クリックして下さい});
filesel;
display(BELL);
footnote({ダウンロード中});
case (DIR2={},
{No}, {command(DIR2|{\QV})},
{Yes}, {command({QV})});
wait({2});type({\n});
wait({60},STOP,{リターンキーを押して下さい=},);
type({\n});
case (REC={Yes},
{Yes}, {case (SAVE,
{WHOLE},
{receive(LOGPATH|{\VANLOG\}|LOGFILE)},,
{receive(LOGPATH|{\}|JUMP|{\}|LOGFILE)})});
setcdir(DIR1);
};
/* Quick-VANでのアップロード処理 */
%QVUP{
case(REC={Yes},{Yes},{stoprec});
var SENDFILE[64];
SNDMSG({nyuryo_f.snd});
footnote({アップロードするファイルを指定して下さい});
SENDFILE:=@filesel;
case (SENDFILE={},
{No}, {case (@nochar(@getcdir)=3,
{Yes}, {SENDFILE:=@getcdir|SENDFILE},
{No}, {SENDFILE:=@getcdir|{\}|SENDFILE});
display(BELL);
footnote({アップロード中});
case (DIR2={},
{No}, {command(DIR2|{\QV -s }|SENDFILE)},
{Yes}, {command({QV -s }|SENDFILE)})});
wait({2});type({\n});
case (REC={Yes},
{Yes}, {case (SAVE,
{WHOLE},
{receive(LOGPATH|{\VANLOG\}|LOGFILE)},,
{receive(LOGPATH|{\}|JUMP|{\}|LOGFILE)})});
setcdir(DIR1);
};
/* テキストファイルの送信処理 */
%SENDTEXT{
case(REC={Yes},{Yes},{stoprec});
var SENDFILE[64];
SNDMSG({nyuryo_f.snd});
footnote({送信するテキストファイルを指定して下さい});
SENDFILE:=@filesel;
case (SENDFILE={},
{No}, {case (@nochar(@getcdir)=3,
{Yes}, {SENDFILE:=@getcdir|SENDFILE},
{No}, {SENDFILE:=@getcdir|{\}|SENDFILE});
display(BELL);
footnote({テキストファイル送信中});
send(SENDFILE)});
case (REC={Yes},
{Yes}, {case (SAVE,
{WHOLE},
{receive(LOGPATH|{\VANLOG\}|LOGFILE)},,
{receive(LOGPATH|{\}|JUMP|{\}|LOGFILE)})});
setcdir(DIR1);
};
/* CHATモード前のメモチェック */
%CHATMODE{
case (memono>8,
{Yes}, {SNDMSG({kaknin_f.snd});
footnote({メモ8-9を削除してもよろしいですか?});
select({メモ8-9を削除してもよろしいですか?});
99999,,
{ はい }, {%memono {8};OPENMEMO;chatmode},
{ いいえ },)},
{No}, {OPENMEMO;chatmode});
};
/* 送信用文章表示メモ */
%OPENMEMO{
CloseAllMemo;
delfile(TEMPPATH|{\PVAPCHAT.MEN});
madd(memono,{\n});
mclear(memono);
case (@filechk(DIR1|{\PVAPCHAT.DAT}),
{Yes},{mread(DIR1|{\PVAPCHAT.DAT},memono)});
mopen(memono,0,21,485,201,{w});
mclose(1);
};
/* CHATモードメイン */
%chatmode{
%entermen{
write(TEMPPATH|{\PVAPCHAT.MEN},
@head(@body(@laststr(45),{:}),{]})|{\n});
case(@mcheck={0},{No},{mclose(1)});
madd(memono+1,{\n});
mclear(memono+1);
mread(TEMPPATH|{\PVAPCHAT.MEN},memono+1);
mopen(memono+1,495,21,639,201,{r});
mclose(1);
};
%endmen{
var MENDATA[1000];
MENDATA:=@read(TEMPPATH|{\PVAPCHAT.MEN});
%NOLINE @noline(MENDATA);
%ENDMEN @head(@body(@laststr(50),{:}),{]});
C:=1;
%chkhandle{
loop({
case (@head(@getline(MENDATA,C,1),{\n}),ENDMEN,
{delfile(TEMPPATH|{\PVAPCHAT.MEN});
write (TEMPPATH|{\PVAPCHAT.MEN},
@getline(MENDATA,1,C-1)|
@getline(MENDATA,C+1));
case(@mcheck={0},{No},{mclose(1)});
madd(memono+1,{\n});
mclear(memono+1);
mread(TEMPPATH|{\PVAPCHAT.MEN},memono+1);
mopen(memono+1,495,21,639,201,{r});
mclose(1);
im({No})},,{case(NOLINE=C,
{Yes}, {im({No})},,
{C:=C+1;im({Yes})})});
});
};
case(NOLINE={0},{No},chkhandle);
};
loop({
footnote({▼▼受信/U移動エコー 拒否 },{b});
waitx(180,, {【漢字】}, entermen,
{アクセスしました。}, {display(BELL);
entermen},
{終了しました。}, endmen,
{チャンネルを移動しました。}, endmen);
case (@xtype,
{101}, {AllDelMEMO;
im({No})},
{201}, {AllDelMEMO;
im({No})},
{102}, {writelog;im({Yes})},
{202}, {writelog;im({Yes})},
{103}, {delfile(TEMPPATH|{\PVAPCHAT.MEN});
type({/U\n});
im({Yes})},
{203}, {delfile(TEMPPATH|{\PVAPCHAT.MEN});
type({/U\n});
im({Yes})},
{104}, {CH;im({Yes})},
{204}, {CH;im({Yes})},
{105}, {SNDMSG({erande_f.snd});
select({選択して下さい},99999,,
{ エコーON (/ECON)},
{type({/ECON\n})},
{ エコーOFF(/ECOF)},
{type({/ECOF\n})});
im({Yes})},
{205}, {SNDMSG({erande_f.snd});
select({選択して下さい},99999,,
{ エコーON (/ECON)},
{type({/ECON\n})},
{ エコーOFF(/ECOF)},
{type({/ECOF\n})});
im({Yes})},
{106}, {SNDMSG({erande_f.snd});
select({選択して下さい},99999,,
{ メッセージ拒否(/RCA)},
{type({/RCA\n})},
{ 解除 (/PCA)},
{type({/PCA\n})});
im({Yes})},
{206}, {SNDMSG({erande_f.snd});
select({選択して下さい},99999,,
{ メッセージ拒否(/RCA)},
{type({/RCA\n})},
{ 解除 (/PCA)},
{type({/PCA\n})});
im({Yes})},
memono, {MEMOINPUT;im({Yes})},
memono+1,{DOUBLE;im({Yes})},,
{im({Yes})});
});
};
/* チャンネルを移動する */
%CH{
SNDMSG({nyuryo_f.snd});
%ch @input({移動したいチャンネル番号を入力して下さい},{c});
case (ch={},
{No}, {delfile(TEMPPATH|{\PVAPCHAT.MEN})
type({/CH}|ch|{\n})});
};
/* /PFか/CAか/Pなのかを判定する */
%DOUBLE{
SNDMSG({erande_f.snd});
select({選択して下さい},99999,,
{ プロフィール参照 (/PF)},VIEWPROF,
{ メッセージ送信 (/CA)},SENDMES,
{ プライベートトーク(/P )},PRIVATE);
};
/* メモに書かれた文をinput文の入力項に出力 */
%MEMOINPUT{
%LineNo @xlinenum;%MemoLine @nolmemo(memono);
%line1 @case (LineNo>MemoLine,
{Yes},{im(@memo(memono,MemoLine,1))},
{No},{case (LineNo<=0,
{Yes},{im(@memo(memono,1,1))},
{No},{im(@memo(memono,LineNo,1))})});
%sendsent @input({},{u},@head(line1,{\n}));
case(sendsent={},{No},{type(sendsent|{\n})});
mclose(1);
};
/* 特定の人にメッセージを送る */
%SENDMES{
%LineNo @xlinenum;%MemoLine @nolmemo(memono+1);
%line1 @case (LineNo>MemoLine,
{Yes},{im(@memo(memono+1,MemoLine,1))},
{No},{case (LineNo<=0,
{Yes},{im(@memo(memono+1,1,1))},
{No},{im(@memo(memono+1,LineNo,1))})});
var MENNUM[5];
MENNUM:={ }|@nth(line1,1,{:});
MENNUM:=@tail(MENNUM,{ });
type({/CA}|MENNUM|{\n});
SNDMSG({nyuryo_f.snd});
%sendmes @input({送信するメッセージを入力して下さい},{c});
type(sendmes|{\n});
mclose(1);
};
/* プロフィールを見る */
%VIEWPROF{
%LineNo @xlinenum;%MemoLine @nolmemo(memono+1);
%line1 @case (LineNo>MemoLine,
{Yes},{im(@memo(memono+1,MemoLine,1))},
{No},{case (LineNo<=0,
{Yes},{im(@memo(memono+1,1,1))},
{No},{im(@memo(memono+1,LineNo,1))})});
var MENNUM[5];
MENNUM:={ }|@nth(line1,1,{:});
MENNUM:=@tail(MENNUM,{ });
type({/PF}|MENNUM|{\n});
mclose(1);
};
/* プライベートトーク */
%PRIVATE{
%LineNo @xlinenum;%MemoLine @nolmemo(memono+1);
%line1 @case (LineNo>MemoLine,
{Yes},{im(@memo(memono+1,MemoLine,1))},
{No},{case (LineNo<=0,
{Yes},{im(@memo(memono+1,1,1))},
{No},{im(@memo(memono+1,LineNo,1))})});
var MENNUM[5];
MENNUM:={ }|@nth(line1,1,{:});
MENNUM:=@tail(MENNUM,{ });
type({/P}|MENNUM|{\n});
mclose(1);
};
/* 自由行動するかどうかの判定・実行 */
%memono @mlast+1;
case (TIMER,
{Yes}, {display({\n指定時刻の通信の為自由行動は省きます\n})},
{No}, {SNDMSG2({hajima_f.snd});
display({\n只今より自由行動を開始します\n});
%JUMP {FREELOG};
%NOWRITE {
case (REC={Yes},{Yes},{stoprec;REC:={No}});
case (SAVE={JUMPCODE}||SAVE={BOARD},
{Yes}, {mkdir2(LOGPATH|{\}|JUMP);
LOGFILE:=@crefile(LOGPATH|{\}|JUMP,{LOG})},
{No}, {case (preser={ 1},
{No},
{mkdir2(LOGPATH|{\VANLOG});
LOGFILE:=@crefile(LOGPATH|{\VANLOG},
{LOG})})});
};
SNDMSG({erande_f.snd});
footnote({自由行動中のログを保存しますか?});
select({自由行動中のログを保存しますか?},99999,NOWRITE,
{ する },{case(SAVE={JUMPCODE}||SAVE={BOARD},
{Yes},
{mkdir2(LOGPATH|{\}|JUMP);
LOGFILE:=@crefile(LOGPATH|{\}|
JUMP,{LOG});
receive(LOGPATH|{\}|JUMP|{\}|LOGFILE);
REC:={Yes}},
{No},
{case (REC={Yes},
{No},
{mkdir2(LOGPATH|{\VANLOG});
LOGFILE:=@crefile(LOGPATH|
{\VANLOG},{LOG});
receive(LOGPATH|{\VANLOG\}|
LOGFILE);
REC:={Yes}})})},
{ しない },{NOWRITE});
freemain});